import time
from public.action import *
from public.business import *
from public.testData import *
from public.tools import *

testCase = "dbshopST010_处理退货订单"
# 前置条件为前台要有一个申请退货的订单
firefox = openBrowser(url)  # 调用自定义函数打开网页,url的值是在testData文件中定义的
# 调用自定义函数进行登录
DBshopLogin(firefox, userName, password)
# 点击我的订单
firefox.find_element_by_link_text("我的订单").click()
# 点击交易完成一栏
firefox.find_element_by_partial_link_text("交易完成").click()
# 获取第一个已完成订单的订单号
li = firefox.find_element_by_xpath('(//thead/tr/th/div/a)[1]').text
print(li)
# 点击退货申请
firefox.find_element_by_link_text("退货申请").click()
# 点击申请退货
firefox.find_element_by_link_text("点此申请退货").click()
# 输入想要退货的订单的订单号
firefox.find_element_by_id('order_sn').send_keys(li)
# 查询这个订单
firefox.find_element_by_id('search-order').click()
# 选择退款渠道，第一个，退款到余额
firefox.find_element_by_xpath('//input[@value="1"]').click()
# 输入原因，不想要了
firefox.find_element_by_id('refund_info').send_keys("不想要了")
time.sleep(2)
# 点击申请退货，点击确定
firefox.find_element_by_xpath('//button[text()="申请退货"]').click()
time.sleep(5)
firefox.switch_to.alert.accept()  # 点击确定按钮
time.sleep(2)
# 1.点击处理退货，退货处理“同意退货”，退款金额“3558.00”。处理意见“同意”。
firefox.get(urlAdmin)
# 登录后台
DBshopLoginAdmin(firefox)
# 进入销售管理，退货管理
DBshopEnterMenu2(firefox, '销售管理', '退货管理')
# 输入订单号
firefox.find_element_by_name('order_sn').send_keys(li)
# 点击搜索
firefox.find_element_by_xpath('//button[@class="btn btn-small btn-primary"]').click()
# 点击处理退货
firefox.find_element_by_link_text("处理退货").click()
# 选择同意退货
firefox.find_element_by_xpath('//select[@id="refund_state"]/option[1]').click()
# 清空价格
firefox.find_element_by_xpath('//input[@name="refund_price" and @id="refund_price"]').clear()
# 价格输入3558.00
firefox.find_element_by_xpath('//input[@name="refund_price" and @id="refund_price"]').send_keys("3558.00")
# 处理意见输入同意
firefox.find_element_by_id("re_refund_info").send_keys("同意")
# 2.提交处理结果。
firefox.find_element_by_xpath('//button').click()
# 3.回到前台界面，点击“用户中心”，退货申请界面，查看退款成功
firefox.get(url)
firefox.find_element_by_link_text("用户中心").click()
firefox.find_element_by_link_text("退货申请").click()
# 输入订单号
firefox.find_element_by_name('search_content').send_keys(li)
# 点击搜索
firefox.find_element_by_xpath('//button[@class="btn btn-small btn-primary"]').click()
try:
    firefox.find_element_by_xpath('//td[text()="退款成功"]')
    writeLog("%s 测试通过" % testCase)
except:
    writeLog("%s 测试失败" % testCase)
    getPhoto(firefox)
firefox.quit()
